The subject matter discussed in this section should not be assumed to be prior art merely as a result of its mention in this section. Similarly, a problem mentioned in this section or associated with the subject matter provided as background should not be assumed to have been previously recognized in the prior art. The subject matter in this section merely represents different approaches, which in and of themselves may also correspond to implementations of the claimed technology.
Network service providers need to care about the experience of their subscribers, even if the aggregate performance of individual devices or whole networks is at some astronomically high level. In the world of service providers, subscribers often do not care how much bandwidth the big routers at the core of the Internet can deliver. They care about getting the bandwidth and the experiences for which they are paying. Some of those subscribers may be paying extra for a high quality of service, ensuring a certain level of bandwidth, lower latency, etc. This will be reflected in the differentiated services code points (DSCP), virtual local area network (VLAN) IDs, and VLAN priority bits used to identify packets, or qualities of service, which might be treated differently from other packets—similar in concept to business class airline passengers who pay more, and therefore expect more from their experience. Some network subscribers are paying for more bandwidth so they can share their personal experiences in real-time—at a large outdoor concert in one example, via live streaming, utilizing video and audio traffic which is transported over transmission control protocol (TCP).
Over 90% of traffic on the Internet is based on TCP, which is stateful in nature. TCP is a connection-oriented transport protocol that sends data as an unstructured stream of bytes. By using sequence numbers and acknowledgment messages, TCP can provide a sending node with delivery information about packets transmitted to a destination node. For TCP, the connections need to be established before any data is sent, and the rate at which data is sent will ebb and flow depending on how congested the overall network is.
TCP protocol was originally designed to be implemented as a single state machine; that is, with serialized processing of events. In existing methods for conducting TCP sessions during testing of a NUT, the TCP state machine runs on a single processor core even when multiple CPU cores are available. As network transmission rates increase, the need for increased performance also increases.
An opportunity arises to enhance performance by leveraging multi-core CPU architectures for conducting numerous TCP sessions during testing of a NUT, which can improve the performance and scalability of the network.